import request from '@/utils/request'

/**
 * 获取收藏列表
 * @param {Object} params - 查询参数
 * @param {number} params.pageNum - 页码
 * @param {number} params.pageSize - 每页大小
 * @returns {Promise<Object>} - 收藏列表数据
 */
export function getFavoriteList(params) {
  return request({
    url: '/house/collect/list',
    method: 'get',
    params
  })
}

/**
 * 收藏房源
 * @param {number} houseId - 房源ID
 * @returns {Promise<Object>} - 收藏结果
 */
export function addFavorite(houseId) {
  if (!houseId) {
    console.error('addFavorite: 无效的房源ID');
    return Promise.reject(new Error('无效的房源ID'));
  }
  
  return request({
    url: `/house/collect/${houseId}`,
    method: 'post'
  })
}

/**
 * 取消收藏
 * @param {number} houseId - 房源ID
 * @returns {Promise<Object>} - 取消收藏结果
 */
export function removeFavorite(houseId) {
  if (!houseId) {
    console.error('removeFavorite: 无效的房源ID');
    return Promise.reject(new Error('无效的房源ID'));
  }
  
  return request({
    url: `/house/collect/${houseId}`,
    method: 'delete'
  })
}

/**
 * 检查是否已收藏
 * @param {number} houseId - 房源ID
 * @returns {Promise<Object>} - 检查结果
 */
export function checkFavorite(houseId) {
  if (!houseId) {
    console.error('checkFavorite: 无效的房源ID');
    return Promise.reject(new Error('无效的房源ID'));
  }
  
  return request({
    url: `/house/collect/check/${houseId}`,
    method: 'get'
  })
} 